Crate sysctl [−] [src]
A simplified interface to the sysctl
system call.
Currently built for and only tested on FreeBSD.
Example: Get description and value
extern crate sysctl; #[cfg(not(target_os = "macos"))] fn main() { let ctl = "kern.osrevision"; let d: String = sysctl::description(ctl).unwrap(); println!("Description: {:?}", d); let val_enum = sysctl::value(ctl).unwrap(); if let sysctl::CtlValue::Int(val) = val_enum { println!("Value: {}", val); } } #[cfg(target_os = "macos")] fn main() { let ctl = "kern.osrevision"; let val_enum = sysctl::value(ctl).unwrap(); if let sysctl::CtlValue::Int(val) = val_enum { println!("Value: {}", val); } }
Example: Get value as struct
extern crate sysctl; extern crate libc; use libc::c_int; #[derive(Debug)] #[repr(C)] struct ClockInfo { hz: c_int, /* clock frequency */ tick: c_int, /* micro-seconds per hz tick */ spare: c_int, stathz: c_int, /* statistics clock frequency */ profhz: c_int, /* profiling clock frequency */ } fn main() { println!("{:?}", sysctl::value_as::<ClockInfo>("kern.clockrate")); }
Structs
Temperature |
A custom type for temperature sysctls. |
Enums
CtlValue |
An Enum that holds all values returned by sysctl calls.
Extract inner value with |
Constants
Functions
description |
Returns a result containing the sysctl description if success, the errno caused by sysctl() as string if failure. |
set_value |
Sets the value of a sysctl. Fetches and returns the new value if successful, errno string if failure. |
value |
Takes the name of the OID as argument and returns a result containing the sysctl value if success, the errno caused by sysctl() as string if failure. |
value_as |
A generic function that takes a string as argument and returns a result containing the sysctl value if success, the errno caused by sysctl() as string if failure. |
value_oid |
Takes an OID as argument and returns a result containing the sysctl value if success, the errno caused by sysctl() as string if failure. |
value_oid_as |
A generic function that takes an OID as argument and returns a result containing the sysctl value if success, the errno caused by sysctl() as string if failure. |